package com.wyw.hemerocallis.service;

import com.wyw.hemerocallis.common.TableId;
import com.wyw.hemerocallis.goods.DeductGoodsInventory;
import com.wyw.hemerocallis.goods.GoodsInfo;
import com.wyw.hemerocallis.goods.SimpleGoodsInfo;
import com.wyw.hemerocallis.vo.PageSimpleGoodsInfo;

import java.util.List;

/**
 * 商品微服务相关服务接口定义
 *
 * @author Mr Wu    yewen.wu.china@gmail.com
 * <p>
 * Update History:
 * Author        Time            Content
 */
public interface IGoodsService {

    /**
     * 根据tableId查询商品详细信息
     */
    List<GoodsInfo> getGoodsInfoByTableId(TableId tableId);

    /**
     * 获取分页的商品信息
     * */
    PageSimpleGoodsInfo getSimpleGoodsInfoByPage(int page);

    /**
     * 根据 TableId 查询简单商品信息
     * */
    List<SimpleGoodsInfo> getSimpleGoodsInfoByTableId(TableId tableId);

    /**
     * 扣减商品库存
     * */
    Boolean deductGoodsInventory(List<DeductGoodsInventory> deductGoodsInventories);
}
